1. Field of the Invention
The invention relates to networks, and more particularly to a system and a method for increasing the efficiency of data transfer through a network.
2. Description of the Related Art
Networks are used to link a group of end user equipment together. This end user equipment usually includes computers and computer peripherals (e.g., printers). An example is Ethernet, which provides communication at rates up to 10 Mbits/second among linked machines, via a single cable. A local area network (LAN) allows users at different computers to access each others files. LANs can also be used to pool resources. For example, a fast large disk, high-priced plotters or printers, etc. can be shared by multiple users when a LAN is employed. A node refers to any device or combination of devices on the LAN. LANs allow for the attachment of many nodes to a common physical link. The shared access link permits any node to communicate directly with any other node which is attached to the link. Data is transferred through a network inside packets. Each packet consists of a variable-length information field (containing data) preceded by appropriate addressing fields (e.g., a header). The header usually includes a destination for the data in the packet. A wide area network (WAN) has a similar structure to the LAN and includes similar packets.
The average size of a packet is an important factor which affects the efficiency of a network. Usually, shorter packet sizes result in less efficient networks. In an Ethernet network, the packet size may vary from 46 Bytes to 1.5 K Bytes. The default packet size for an asynchronous transmission mode (ATM) network is 53 Bytes. Also, packets are referred to as cells in an ATM network. Thus, an ATM network has fixed cells of 53 bytes each. Typically, for most networks, the transmission of key strokes results in a large number of short packets while the transfer of a large data file results in long packets.
The Ethernet network was originally designed to work under a low load. A low load occurs when a small amount of data is transferred through the network. Similarly, a heavy or high load occurs when a large amount of data is transferred through a network. As long as the Ethernet network utilization is below 10%, the network provides good connectivity to its users. However, when the utilization of the network increases, the network performance degrades. For example, the time that nodes have to spend waiting for the network to become available increases. As packets travel through a network, they are transferred between nodes. A transmitting node will only transmit a packet when the section immediately after the transmitting node (on the way to the destination node) is available.
If a heavy load is present on the network, the transmitting node may have to wait an extensive period of time before the path becomes available. Furthermore, a heavy load on the network increases the delay due to collision and back off. Multiple packets/data can be transmitted at the same time. Normally, collision occurs when two or more nodes transmit packets at the same time onto the same media. To remedy this situation, a back off is used. Back off takes place after the transmitter on a node, which just sent a packet, detects a collision. The transmitter then (1) stops transmitting (2) waits a random period of time, (3) checks if the media is available and (4) retransmits the packet. The random period of time is within a specific range of time set forth in the Internet Standard. This range of time takes into consideration both the need for efficiency (short period of time) and the need for a reduced chance of another collision (longer period of time).
Overall, with an increased load on the network, nodes that wish to transmit a packet through the network often find that the media is not available for them and that they must wait before transmission can occur. This wait period increases as the load of the network increases and contributes to the overall latency of the network. Thus, long latency is commonplace whenever the average length of packets is short and the load on a given network segment is high. Long latency results in sub-optimal performance because the latency degrades the quality of service provided to the network users.
Ether-Switches can be used to reduce the load on segments in the network which have too high a load. Ether-Switches replace a shared media (i.e., Ethernet segment) with a star connection. Fewer collisions occur because a switch rather than a segment connects the various nodes. Adding Ether-Switches to reduce the load on a network is expensive, and it does not solve the basic problem of short packets. These short packets might still degrade the efficiency of network segments which are not provided with an Ether-Switch.
Network partitioning can improve network bandwidth when network performance is compromised by extreme overloading and collision saturation. Network partitioning involves breaking large networks into a series of smaller ones using subnetworks and high speed switches to connect them. Virtual switching is an example of network partitioning where individual paired nodes are configured on-the-fly into virtual sublets for the duration of that transmission. The disadvantage of network partitioning is that it increases the latency of inter-network transmissions because of the service time delays at the intermediate nodes.
"Cut through" devices can also be used to reduce latency in a network. A "cut through" device is used as a switch in a network. The "cut through" device waits for part of a packet and starts transmitting that packet. Conventional switches (referred to as store and forward devices) wait for the whole packet to arrive and then transmit the packet. Unfortunately, "cut through" devices only reduce the latency under a low network load. The "cut through" method does not perform well under moderate and heavy loads. For example, an error may be found at the end of a packet. If this occurs, the "cut through" device has already started to transmit the packet, so the packet must be retransmitted. Thus, in this example, the media is used unnecessarily and time is wasted while the media is occupied twice by the transmission of the same packet.
Adaptive packet length traffic control can be used to attempt to reduce the effects of a heavy load on a LAN. U.S. Pat. No. 4,771,391 provides a description of adaptive packet length traffic control. Basically, the size of the packets transmitted by each node is controlled. The data flow in the network is monitored and an average packet length is computed. The size of the data field in each packet is then adjusted based on the computed average packet length. Each packet is adjusted to the average packet length. Unfortunately, the media/port for data transfer may become available while the packet length is being adjusted. Transfer does not occur until the packet length has been adjusted. While the adaptive packet length traffic control reduces latency in an overloaded LAN, it does not provide optimal service when the LAN is moving between heavy and low loads nor when the LAN is experiencing a low load. Moreover, complex monitoring and computation is required.
A router can be used to alter packet size (i.e., reduce or increase the packet size). These altered packets can be used to bridge, for example, a 9 K Byte or 64 K Byte to an Ethernet. For example, to route between ATM and LANs, the built-in packet fragmentation capability of the router (referred to as segmentation and reassembling, or a SAR, in this example) can be used to break the LAN-sized packets into ATM cells/packets as they cross the LAN to ATM boundary. If the ATM cells are then routed back via a SAR to a LAN, each original packet is completely reassembled before being sent out over the media. Thus, even if the media is available for transmission of the data, the packet will not be transmitted until it is completely reassembled. While this method of altering the packet size allows for connection between ATM and LANs, it does not address the problem of network degradation and utilization of the available media.
As stated above, network degradation can occur under moderate and heavy loads as a result of short packets. It is desirable to have a network which (1) optimizes the length of the packets, (2) reduces the packets' latency by utilizing an available media and (3) reduces the amount of memory required for the network devices. Hence, it is desirable to improve the efficiency of the data transfer through the network.